#!/usr/bin/env python
# -*- coding:utf-8 -*-
import sql_operation
import getpass
import paramiko
import os
import logging

if __name__ == '__main__':
    #1、初始化数据库，建库，建表，插入数据
    inp=raw_input("是否要初始化数据库(input 'yes')：")
    if inp=='yes':
        sql_operation.sql_init()
    else:pass
    #2、用户登录,从windows远程登录到跳板机，获取当前登录用户的用户名。
    username=getpass.getuser()
    #3、显示主机列表
    host_list=sql_operation.fetch_host(username)
    while True:
        for index,host in enumerate(host_list,1):
            print index,host[0],host[1]
    #4、根据用户选择，当做参数传给demo.py,进行远程操作
        try:
            inp=raw_input("请选择您的操作序号：").strip()
            if inp=='quit':
                print 'Bye!'
                break
            if len(inp)==0:continue
        except KeyboardInterrupt:continue
        except EOFError:continue
        inp=int(inp)
        ip=host_list[inp-1][1]
        port=22
        os.system("python demo.py %s %s" % (ip,port))
    #5、加入命令记录功能，需要修改demo.py和interactive.py
        #demo.py调用interactive.interactive_shell(chan)时候加入参数（hostname,username）
        #interactive.interactive_shell所有方法都要加入（hostname,username）参数
        #通过文件打开record.log文件，记录命令。